#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
using namespace std;
#include <vector>
#include <string>
bool is_huiwen(string& date)
{
    int left = 0, right = date.size() - 1;
    while (left < right)
    {
        if (date[left] != date[right])
            return false;
        left++;
        right--;
    }
    return true;
}
vector<int> dayofmonth = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
void func1(int& ret1, int year, int month, int day,int date)
{
    if (month == 2)
    {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        {
            day--;
        }
        if (day <= dayofmonth[day])
        {
            //cout<<date<<endl;
            ret1 = date;
            // if(ret1==0)
            // {
            //     ret1 = date;
            //     break;
            // }

        }
    }
    else
    {
        if (day <= dayofmonth[day])
        {
            // cout<<date<<endl;
            // break;
            ret1 = date;
            // if(ret1==0)
            // {
            //     ret1 = date;
            //     break;
            // }
        }
    }

}

void func2(int& ret2, int year, int month, int day,int date)
{
    if (day != month)
        return;

    if (month == 2)
    {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        {
            day--;
        }
        if (day <= dayofmonth[day])
        {
            //cout<<date<<endl;
            // if(ret1==0)
            // {
            //     ret1 = date;
            //     break;
            // }
            ret2 = date;
        }
    }
    else
    {
        if (day <= dayofmonth[day])
        {
            // cout<<date<<endl;
            // break;
            // if(ret1==0)
            // {
            //     ret1 = date;
            //     break;
            // }
            ret2 = date;
        }
    }
}
int main()
{
    int date;
    cin >> date;
    //int n = 2;
    int ret1 = 0, ret2 = 0;
    // while(n--)
    // {
    date++;
    for (; ret1 == 0 || ret2 == 0; date++)
    {
        string tmp = to_string(date);
        if (is_huiwen(tmp))
        {
            int tmp1 = date;
            int day = tmp1 % 100;
            tmp1 /= 100;
            int month = tmp1 % 100;
            if (month == 0 || month > 12)
                continue;
            tmp1 /= 100;
            int year = tmp1;
            if (ret1 == 0)
            {
                func1(ret1, year, month, day,date);
            }
            if (ret2 == 0)
            {
                func2(ret2, year, month, day,date);

            }

        }
    }
    cout << ret1 << endl << ret2;
    //}
    return 0;
}
//#include <iostream>
//using namespace std;
//#include <vector>
//#include <string>
//bool is_huiwen(string& date)
//{
//    int left = 0, right = date.size() - 1;
//    while (left < right)
//    {
//        if (date[left] != date[right])
//            return false;
//        left++;
//        right--;
//    }
//    return true;
//}
//vector<int> dayofmonth = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
//
//int main()
//{
//    int date;
//    cin >> date;
//    int n = 2;
//    while (n--)
//    {
//        date++;
//        for (;; date++)
//        {
//            string tmp = to_string(date);
//            if (is_huiwen(tmp))
//            {
//                int tmp1 = date;
//                int day = tmp1 % 100;
//                tmp1 /= 100;
//                int month = tmp1 % 100;
//                if (month == 0 || month > 12)
//                    continue;
//                tmp1 /= 100;
//                int year = tmp1;
//                if (month == 2)
//                {
//                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
//                    {
//                        day--;
//                    }
//                    if (day <= dayofmonth[day])
//                    {
//                        cout << date << endl;
//                        break;
//                    }
//                }
//                else
//                {
//                    if (day <= dayofmonth[day])
//                    {
//                        cout << date << endl;
//                        break;
//                    }
//                }
//            }
//        }
//    }
//    return 0;
//}